home *** CD-ROM | disk | FTP | other *** search
/ C/C++ Users Group Library 1996 July / C-C++ Users Group Library July 1996.iso / vol_100 / 194_01 / entab.c < prev    next >
Text File  |  1985-11-13  |  1KB  |  48 lines

  1. /* [ENTAB.C of JUGPDS Vol.17]
  2. *****************************************************************
  3. *                                *
  4. *    Written by  Hakuo Katayose (JUG-CP/M No.179)        *
  5. *            49-114 Kawauchi-Sanjuunin-machi        *
  6. *            Sendai, Miyagi 980                          *
  7. *            Phone: 0222-61-3219                *
  8. *                                *
  9. *    Edited & tested by Y. Monma (JUG-C/M Disk Editor)       * 
  10. *                                *
  11. *****************************************************************
  12. */
  13.  
  14. /* entab - replace blanks by tabs and blanks */
  15.  
  16. #include "stdio.h"
  17. #include <dio.h>
  18.  
  19.  
  20. main(argc, argv)
  21. int    argc;
  22. char    **argv;
  23.  
  24. {
  25.     int    c, col, i, newcol, tabs[MAXLINE];
  26.  
  27.     dioinit(&argc, argv);
  28.     settab(tabs, MAXLINE);
  29.     col = 1;
  30.     do {
  31.         newcol = col;
  32.         while ( ( c = getchar() ) == BLANK ) {
  33.             newcol++;
  34.             if ( tabpos( newcol, tabs ) == YES ) {
  35.                 putchar( TAB );
  36.                 col  = newcol;
  37.                  }
  38.             }
  39.         for ( ; col < newcol; col++ )
  40.             putchar( BLANK );
  41.         if ( c == EOF )
  42.             break;
  43.         putchar( c );
  44.         col = ( c == NEWLINE ) ? 1 : col + 1;
  45.         } while(1);
  46.     dioflush();
  47. }
  48.